package org.jeecg.modules.wms.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.wms.entity.WmsSupplier;
import org.jeecg.modules.wms.vo.WmsPurchaseOrderVO;
import org.jeecg.modules.wms.vo.WmsSupplierVO;

/**
 * @Description: 供应商信息表
 * @Author: jeecg-boot
 * @Date: 2023-07-18
 * @Version: V1.0
 */
public interface IWmsSupplierService extends IService<WmsSupplier> {
    
    /**
     * 根据ID获取供应商详情，包含联系人和物料关联信息
     * @param id 供应商ID
     * @return 供应商详情
     */
    WmsSupplierVO getSupplierById(String id);
    
    /**
     * 添加供应商信息，包含联系人和物料关联信息
     * @param wmsSupplierVO 供应商信息
     * @return 是否成功
     */
    boolean saveSupplier(WmsSupplierVO wmsSupplierVO);
    
    /**
     * 修改供应商信息，包含联系人和物料关联信息
     * @param wmsSupplierVO 供应商信息
     * @return 是否成功
     */
    boolean updateSupplier(WmsSupplierVO wmsSupplierVO);
    
    /**
     * 删除供应商信息，包含联系人和物料关联信息
     * @param id 供应商ID
     * @return 是否成功
     */
    boolean deleteSupplier(String id);
    
    /**
     * 获取供应商采购历史记录
     * @param supplierId 供应商ID
     * @param page 分页参数
     * @return 采购订单列表
     */
    IPage<WmsPurchaseOrderVO> getSupplierPurchaseHistory(String supplierId, Page<WmsPurchaseOrderVO> page);
} 